Layering is used to organize programming modules into separate functional components that interact in a sequential and hierarchical way so that each layer has an interface only to the layer above and below it, and thus, no need to understand the processing performed at any of the other layers. Communication programs may be structured in layers such that programming and hardware at both ends of the communication exchange use an identical set of layers. To process a message, data in a first device flows down through each layer and is transmitted through a physical media to a second device. Before reaching the second device, the message may “hop” multiple times between intermediary devices such as routers. The message is received at the second device, and the data flows up through the layers where it is ultimately presented to the user or used in an application at the second device.
The Internet Protocol (IP) is the method or protocol by which data is sent from one device to another through a network that may include both wired and wireless connections. Each device on the network has at least one IP address that uniquely identifies it from all of the other devices on the network. Originally, the devices were computers that connected to each other using IP through the Internet. Today, the devices that employ IP have expanded to include all types of communication devices including cellular phones, personal digital assistants, radios, etc. Using IP, a message is divided into small chunks called packets that each contain both the sender's IP address and the receiver's IP address. IP is a connectionless protocol. Thus, there is no continuing connection between the sending and the receiving devices. Each packet is treated as an independent unit of data without any relation to any other unit of data. Because a message is divided into a number of independent packets, each packet can, if necessary, be sent by a different route between the sending device and the receiving device. As a result, packets can arrive in a different order than the order in which they were sent. The user datagram protocol (UDP) passes these packets on to the application in the order in which they are received, hence making an unreliable connection. However, the transmission control protocol (TCP) collects the packets and places the packets in the correct order, in conjunction with acknowledgements and retires, hence a reliable connection.
The hardware layer, also referred to as the physical layer, provides the physical components that enable the transmission and reception of bits of information whether analog or digital. Thus, in wireless communications, the physical layer receives/transmits a signal-in-space (SIS) and, for example, converts bits into pulses or into a modulated carrier waveform. The physical layer may include computer software, hardware, or both software and hardware. Generally, access to the physical layer is controlled by a MAC layer. In general, the MAC layer makes sure that devices sharing a common communications channel do not interfere with each other. The MAC layer may be in the form of computer software, hardware, or both software and hardware.
Cognitive MAC (CoMAC) radios allow the device to transmit a new waveform. For example, a cognitive radio can use different portions of the frequency spectrum as environmental conditions change or the device location changes. Cognitive, dynamic MAC (CoDMAC) radios allow fast on-the-fly MAC switching, for example, to allow switching between the multiplexing method used for communication. As a result, CoMAC and CoDMAC enabled radio networks can establish a communication link by selecting a SIS/MAC pair based on physical conditions at the device. Additionally, CoMAC and CoDMAC radios may employ TCP/IP for the transmission of the information. Legacy radios may not support TCP/IP. As a result, Legacy radios not supporting TCP/IP can not process the received packets to reform the transmitted information and can not create the packets for transmission. Legacy radios, in general, do not support SIS/MAC pair switching, and thus, can only transmit/receive using a single SIS/MAC pair. What is needed, therefore, is a system and a method that provide efficient communication between communication devices that support IP and communication devices that do not support IP. What is further needed is a system and a method that provide efficient communication between communication devices that support SIS/MAC pair switching and communication devices that do not support SIS/MAC pair switching.